コンポーネント
すべてのPerforce QACプロジェクトには少なくとも1つのコンポーネントが必要です。ほとんどのプロジェクトは複数のコンポーネントを使用します。コンポーネントには 以下の種類があります。
- Primary:基本的な解析を提供します。翻訳単位で機能し、言語に特化しています。例えば、QAC(C言語)、QACPP (C++言語)など。
- Secondary: Namecheck、M3CMなどのコンポーネントで、機能強化された則有の機能を提供します。翻訳単位ベースです。
- Whole Program: RCMA、データフローなどのコンポーネントで、翻訳単位で生成されたすべての出力からプロジェクトレベルの解析を提供します。
component_key
は<name>-<version>
形式のフルフォーマット、"qac-9.3.0”
の形式で表示されていますが、"qac” などコンポーネント名だけを指定することもできます。同一コンポーネントの複数のバージョンが設定されている場合、システムは最新のバージョンを選択します。 --toolchain (-T)
オプションを使用した、曖昧さの除去が必要になります。 -o enabledataflow、
-o -enabledataflow
はどちらも有効です。 コンポーネントを一覧表示する
システム上の使用可能なコンポーネントを一覧表示するには以下のコマンドを使用します。
システム上の使用可能な、指定されたツールチェーンをサポートするコンポーネントを一覧表示するには以下のコマンドを使用します。
特定のプロジェクトで使用されているコンポーネントを一覧表示するには以下のコマンドを使用します。
指定したプロジェクトで使用された、特定のツールチェーンをサポートするコンポーネントを一 覧表示するには以下のコマンドを使用します。
プロジェクト内のツールチェーンにコンポーネントを追加する
プロジェクトにコンポーネントをを追加するには以下のオプションを使用します。
独立したコンポーネントをプロジェクトに追加するには--force-dependencies, -f
オプションを使用します。
プロジェクトからツールチェーンコンポーネントを削除する
プロジェクトからツールチェーンコンポーネントを削除するには以下のコマンドを使用します。
プロジェクトにおけるツールチェーンコンポーネントのアップグレード
コンポーネントをアップグレードするには、上記のコンポーネントを追加するコマンドを使用し、既存のコンポーネントをアップグレードします。しかし、RCFはアップグレードされません。
RCFもアップグレードしたい場合は以下のコマンドを使用します。
RCFファイルの置換、更新、マージには追加の --update-method
オプションを使用します。以下の値が使用可能です。
- replace(置換): ファイルは指定したものに置き換えられます。RCFではこれがデフォルトです。
- update(更新): 既存のファイルが更新され、既存のコンポーネントのマッピングが置き換えられます。
- merge(マージ): 既存のファイルが更新され、同じコンポーネントを持つ両方のファイルのルールセットがマージされます(マージする際に、新旧の値が異なる競合があった場合は、新しい値が使用されます)。
デフォルトのRCFを既に使用していて、デフォルトのマッピングが必要な場合は update
を選択してください。
RCFをカスタマイズした場所、カスタマイズを維持したい場所(可能な場合)を merge
により指定します。